package com.jimmy.medical.service;

import com.jimmy.medical.base.JpaSpecificationService;
import com.jimmy.medical.entity.*;
import com.jimmy.medical.model.FeeInfo;
import com.jimmy.medical.model.OrderQueryParam;
import com.jimmy.medical.model.SignInfo;
import com.jimmy.medical.model.UserTask;
import com.jimmy.medical.repository.FlowOrderRepository;
import com.jimmy.medical.repository.OrderRepository;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;


/**
 * 订单Service
 *
 * @author jimmy
 */
public interface IOrderService extends JpaSpecificationService<OrderRepository, OrderRepository, Order, Long> {

    Page<Order> findAll(Pageable pageable, OrderQueryParam queryParam);

    /**
     * 退号短信通知
     * @param message
     * @return
     */
    Long saveCancelMessageFlow(Message message);

    FlowOrder submitCancel(Long flowOrderId, Long userId);

    /**
     * 改号电话通知
     * @param call
     * @return
     */
    Long saveResignNoticeInfo(PhoneCall call);

    /**
     * 改号短信通知
     * @param message
     * @return
     */
    Long saveReSignMessageFlow(Message message);

    FlowOrder submitReSign(Long flowOrderId, Long userId);
}
